set(target_name keyboard_cdc)
add_executable(${target_name})

target_sources(${target_name} PRIVATE
 keyboard_cdc.c
 usb_descriptors.c
 )

target_link_options(${target_name} PRIVATE -Xlinker --print-memory-usage)
target_compile_options(${target_name} PRIVATE -Wall -Wextra)

target_include_directories(${target_name} PRIVATE ${CMAKE_CURRENT_LIST_DIR})

target_link_libraries(${target_name} PRIVATE pico_stdlib pico_pio_usb tinyusb_device)
pico_add_extra_outputs(${target_name})

set(UF2_OUTPUT_DIR "${CMAKE_CURRENT_LIST_DIR}/../../uf2")
add_custom_command(TARGET ${target_name} POST_BUILD
  COMMAND ${CMAKE_COMMAND} -E make_directory "${UF2_OUTPUT_DIR}"
  COMMAND ${CMAKE_COMMAND} -E copy_if_different
    "$<TARGET_FILE_DIR:${target_name}>/${target_name}.uf2"
    "${UF2_OUTPUT_DIR}/${target_name}.uf2"
  COMMENT "Copy ${target_name}.uf2 to uf2/"
)
